﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Database;

namespace Business
{
    public class QuanLyHocVien
    {
        TrungTamEntities trungtam;
        public QuanLyHocVien()
        {
            trungtam = new TrungTamEntities();
        }
        public List<HocVien> LayDanhSachHocVien()
        {
            var list= (from p in trungtam.HocViens select p).ToList();
            return list;
        }
        
        public HocVien LayHocVienTheoMa(String MaHV)
        {
            try
            {
                var hocvien = (from p in trungtam.HocViens
                               where p.MaHV.Equals(MaHV)
                               select p).First();
                return hocvien;
            }
            catch(Exception ex)
            {
                return null;
            }

        }
        public bool ThemHocVien(HocVien hv)
        {
            try
            {
                trungtam.AddToHocViens(hv);
                trungtam.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
        public bool XoaHocVien(String MaHV)
        {
          
            try
            {
                var hocvien = (from p in trungtam.HocViens
                               where p.MaHV.Equals(MaHV)
                               select p).First();
                var danhsachlop = from p in trungtam.HocVien_LopHoc
                                  where p.MaHV.Equals(hocvien.MaHV)
                                  select p;
                foreach (var item in danhsachlop)
                {
                    item.LopHoc.SiSo = item.LopHoc.SiSo + 1;
                }
                trungtam.DeleteObject(hocvien);
                trungtam.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
        public bool SuaHocVien(HocVien hv)
        {
            var hocvien = (from p in trungtam.HocViens
                           where p.MaHV.Equals(hv.MaHV)
                           select p).First();
            hocvien.HoTenHV = hv.HoTenHV;
            hocvien.DiaChi = hv.DiaChi;
            hocvien.NgaySinh = hv.NgaySinh;
            hocvien.GioiTinh = hv.GioiTinh;
            hocvien.DienThoai = hv.DienThoai;
            hocvien.CMND = hv.CMND;          
            hocvien.Email = hv.Email;        
            try
            {

                trungtam.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
    }
}
